const http = require('http');
const fs = require('fs');
const template = require('art-template');

const server = http.createServer((req, res) => {

    res.setHeader('Content-Type', 'text/html;charset=utf-8');
    // 数据库的操作，获取数据信息 Sync 同步读取
    let userContent = fs.readFileSync('./db.json', 'utf-8');
    let userList = JSON.parse( userContent );
    // 1. 要把 userList 填充到 ./views/ulist.html 页面
    // 1.1 拿到模板
    // 1.2 数据放置到模板
    // 1.3 把填充好数据的模板响应给前端
    // 1.4 前端看到内容
    // 这种渲染模式 ssr 服务器端渲染。以后端为主导
    // 后端有专门的库做渲染，一般我们称之为 模板引擎
    // art-template 可以实现 把数据填充到模板里面


    //__dirname 代表程序所处的目录 ===>  D:\gzqd2220\codes\14\05-渲染模式\01-ssr
    // 1. template 函数的 作用 把 数据填充到 模板页面
    // 2. 要在模板页面使用特定的语法去做数据的填充（底层使用的：正则、替换）
    // 3. 需求：把userList数据遍历展示
    var html = template(__dirname + '/views/ulist.art', {
        user: userList
    });
    res.write(html);

    res.end();

});
const port = 8081;

server.listen(port, () => {
    console.log(`server is running at http://localhost:${port}`);
});
